package com.milling.common.utils.sql;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

@Service
public class DbUtils {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    /**
     * 执行一个简单的查询
     * @param sql SQL查询语句
     * @return 查询结果
     */
    public List<Map<String, Object>> executeQuery(String sql) {
        return jdbcTemplate.queryForList(sql);
    }

    /**
     * 执行一个更新操作（INSERT, UPDATE, DELETE）
     * @param sql SQL更新语句
     * @return 影响的行数
     */
    public int executeUpdate(String sql) {
        return jdbcTemplate.update(sql);
    }

    /**
     * 执行多个更新操作（INSERT, UPDATE, DELETE）
     * @param sqls SQL更新语句数组
     * @return 影响的行数数组
     */
    public int[] batchUpdate(String[] sqls) {
        return jdbcTemplate.batchUpdate(sqls);
    }
}
